home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 3 / BBS in a box - Trilogy III.iso / Files / Bus / T-Z / VCR+(app+src) Folder / Sources / mapTop.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-14  |  752 b   |  45 lines  |  [TEXT/KAHL]

  1. #include "VCRplus.h"
  2.  
  3. long     map_top(long day, long year, long top, long digits)
  4. {
  5.     long     d2, d1, d0, y, poot ;
  6.     long     n2, n1, n0, f3, f2, f1, f0;
  7.  
  8.     y = year % 16 ;
  9.     d2 = top / 100 ;
  10.     d1 = (top % 100) / 10 ;
  11.     d0 = top % 10 ;
  12.  
  13.     f0 = 1;
  14.     f1 = (y + 1) % 10;
  15.     f2 = ( ((y+1)*(y+2)) / 2 ) % 10 ;
  16.     f3 = ( ((y+1)*(y+2)*(y+3)) / 6 ) % 10 ;
  17.  
  18.  
  19.     if(digits == 1)
  20.     {
  21.         n0 = ( (d0*f0) + (day*f1) ) % 10 ;
  22.         n1 = 0;
  23.         n2 = 0;
  24.     }
  25.  
  26.     if(digits == 2)
  27.     {
  28.         n0 = ( (d0*f0) + (d1*f1) + (day*f2) ) % 10 ;
  29.         n1 = ( (d1*f0) + (day*f1) ) % 10 ;
  30.         n2 = 0;
  31.     }
  32.  
  33.     if(digits == 3)
  34.     {
  35.         n0 = ( (d0*f0) + (d1*f1) + (d2*f2) + (day*f3) ) % 10 ;
  36.         n1 = ( (d1*f0) + (d2*f1) + (day*f2) ) % 10 ;
  37.         n2 = ( (d2*f0) + (day*f1) ) % 10 ;
  38.     }
  39.  
  40.  
  41.     poot =  (100*n2) + (10*n1) + n0 ;
  42.  
  43.     return( poot );
  44. }
  45.